package cn.gxa.edu_adm.dao;

import cn.gxa.edu_adm.bean.Student;
import cn.gxa.edu_adm.commn.model.ResultData;

import java.util.List;

public interface StudentDao {

    /**
     * 多条件查询
     * @param page  分页 当前页面的页数
     * @param limit 分页  每页显示多少条
     * @param id  学生id
     * @param name  根据名字查询
     * @param phone 学生电话
     * @param idCard   学生身份证
     * @param claId   学生班级
     * @param state   学生状态
     * @return
     */
    List<Student> findByManyWhere(Integer page,
                                 Integer limit,
                                  Integer id,
                                  String name,
                                  String phone,
                                  String idCard,
                                  Integer claId,
                                  Integer state);

    /**
     * 删除
     * @param id
     * @return
     */
    int  deleteById(Integer id);

    /**
     * 批量删除
     * @param arrId
     * @return
     */
    int  deleteByIds(String arrId);

    /**
     * 修改
     * @param student
     * @return
     */
    int    update(Student student);

    /**
     * 新增
     * @param student
     * @return
     */
    int  insert(Student student);

    Long findByManyWhereCount(
            Integer id,
            String name,
            String phone,
            String idCard,
            Integer claId,
            Integer state);

    /**
     * 根据条件筛选出所有数据
     * @param id
     * @param name
     * @param phone
     * @param idCard
     * @param claId
     * @param state
     * @return
     */
    List<Student> findByManyWhere(Integer id, String name, String phone, String idCard, Integer claId, Integer state);

    int batchAddStudent(Object [][] params);

    Object[] statisticsAge(String [] title);
}
